To quantitatively examine the efficacy of vegetation restoration in drylands globally.
Study-level viz to document patterns in exclusions primarily and the relatie frequenices, at the study level, of major categories of evidence.
#study data####
library(tidyverse)
studies <- read_csv("data/studies.csv")
studies
## # A tibble: 278 x 18
## ID title technique data region exclude rationale observations
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 152 Shor… seeding,… expe… Africa no <NA> <NA>
## 2 180 Rest… chemical… App.… Africa no <NA> <NA>
## 3 229 Infl… soil see… fiel… Africa no <NA> <NA>
## 4 230 Acti… planting fiel… Africa no <NA> <NA>
## 5 255 The … grazing … fiel… Africa no <NA> <NA>
## 6 262 Reve… seeding,… eper… Africa no <NA> <NA>
## 7 263 The … phytogen… fiel… Africa no <NA> <NA>
## 8 264 Eval… seeding,… fiel… Africa no <NA> <NA>
## 9 271 Patc… natural … fiel… Africa no <NA> <NA>
## 10 4 Fact… natural … App.… Africa no <NA> <NA>
## # ... with 268 more rows, and 10 more variables: disturbance <chr>,
## # system <chr>, goal <chr>, intervention <chr>, paradigm <chr>,
## # grazing <chr>, hypothesis <chr>, soil <chr>, benchmark <chr>,
## # notes <chr>
#quick look at rationale needed
exclusions <- studies %>%
filter(exclude == "yes")
#quick look at studies with paradigms
evidence <- studies %>%
filter(exclude == "no")
#library(skimr)
#skim(evidence)
#study-level viz#####
#exclusions
ggplot(exclusions, aes(rationale, fill = region)) +
geom_bar() +
coord_flip() +
labs(x = "rational for exclusion", y = "frequency") +
scale_fill_brewer(palette = "Paired")
ggplot(evidence, aes(disturbance, fill = paradigm)) +
geom_bar(na.rm = TRUE) +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(y = "frequency")
ggplot(evidence, aes(region, fill = paradigm)) +
geom_bar(na.rm = TRUE) +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(y = "frequency")
ggplot(evidence, aes(data, fill = paradigm)) +
geom_bar(na.rm = TRUE) +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(y = "frequency")
ggplot(evidence, aes(system, fill = paradigm)) +
geom_bar(na.rm = TRUE) +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(y = "frequency")
ggplot(evidence, aes(goal, fill = paradigm)) +
geom_bar(na.rm = TRUE) +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(x = "outcome", y = "frequency")
#step 1 models####
#paradigm
derived.evidence <- evidence %>%
group_by(technique, data, region, disturbance, goal, paradigm) %>% summarise(n = n())
#active-passive split
m <- glm(n~paradigm, family = poisson, derived.evidence)
anova(m, test="Chisq")
## Analysis of Deviance Table
##
## Model: poisson, link: log
##
## Response: n
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 167 9.9147
## paradigm 1 0.045115 166 9.8696 0.8318
#region
m1 <- glm(n~paradigm*region, family = poisson, derived.evidence)
#m1
#summary(m1)
anova(m1, test="Chisq")
## Analysis of Deviance Table
##
## Model: poisson, link: log
##
## Response: n
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 167 9.9147
## paradigm 1 0.045115 166 9.8696 0.8318
## region 6 0.301367 160 9.5682 0.9995
## paradigm:region 6 0.213627 154 9.3546 0.9998
#outcome
m2 <- glm(n~paradigm*goal, family = poisson, derived.evidence)
#m1
#summary(m1)
anova(m2, test="Chisq")
## Analysis of Deviance Table
##
## Model: poisson, link: log
##
## Response: n
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 167 9.9147
## paradigm 1 0.045115 166 9.8696 0.8318
## goal 6 0.240941 160 9.6287 0.9997
## paradigm:goal 4 0.301480 156 9.3272 0.9897
#even split between active and passive evidence by all key categories
A summary of sort process using PRISMA.
library(PRISMAstatement)
prisma(found = 1504,
found_other = 5,
no_dupes = 1039,
screened = 1039,
screen_exclusions = 861,
full_text = 178,
full_text_exclusions = 100,
qualitative = 78,
quantitative = 78,
width = 800, height = 800)
Check data and calculate necessary measures.
data <- read_csv("data/data.csv")
data <- data %>%
mutate(lrr = log(mean.t/mean.c), rii = ((mean.t-mean.c)/(mean.t + mean.c)), var.es = ((sd.t^2/n.t*mean.t^2) + (sd.c^2/n.c*mean.c^2)))
#data
#consider adding some other effect size measures and/or study-level data too
Explore summary level data of all data. Explore aggregation levels that support the most reasonable data structure and minimize non-independence issues.
#evidence map####
require(maps)
world<-map_data("world")
map<-ggplot() + geom_polygon(data=world, fill="gray50", aes(x=long, y=lat, group=group))
map + geom_point(data=data, aes(x=long, y=lat)) +
labs(x = "longitude", y = "latitude") #render a literal map, i.e. evidence map, of where we study the niche in deserts globally
#add in levels and color code points on map####
map + geom_point(data=data, aes(x=long, y=lat, color = paradigm)) +
scale_color_brewer(palette = "Paired") +
labs(x = "longitude", y = "latitude", color = "")
#aggregation####
se <- function(x){
sd(x)/sqrt(length(x))
}
data.simple <- data %>%
group_by(study.ID, paradigm, technique, measure.success) %>%
summarise(n = n(), mean.lrr = mean(lrr), mean.rii = mean(rii), mean.var = mean(var.es))
main.data <- data %>%
group_by(study.ID, paradigm, intervention, outcome) %>%
summarise(n = n(), mean.lrr = mean(lrr), mean.rii = mean(rii), mean.var = mean(var.es))
#EDA data####
simple.data <- data %>% group_by(study.ID, paradigm, technique, measure.success) %>% summarise(mean.rii = mean(rii), error = se(rii))
simple.data <- na.omit(simple.data)
parad.data <- data %>% group_by(study.ID, paradigm) %>% summarise(mean.rii = mean(rii), error = se(rii))
parad.data <- na.omit(parad.data)
tech.data <- data %>% group_by(study.ID, technique) %>% summarise(mean.rii = mean(rii), error = se(rii))
tech.data <- na.omit(tech.data)
success.data <- data %>% group_by(study.ID, measure.success) %>% summarise(mean.rii = mean(rii), error = se(rii))
success.data <- na.omit(success.data)
#active
active <- data %>%
filter(paradigm == "active")
#viz for aggregation####
ggplot(na.omit(data.simple), aes(technique, n, fill = paradigm)) +
geom_bar(stat = "identity") +
coord_flip() +
scale_fill_brewer(palette = "Paired")
ggplot(na.omit(data.simple), aes(measure.success, n, fill = paradigm)) +
geom_bar(stat = "identity") +
coord_flip() +
scale_fill_brewer(palette = "Paired")
#better
ggplot(main.data, aes(intervention, n, fill = paradigm)) +
geom_bar(stat = "identity") +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(fill = "")
ggplot(main.data, aes(outcome, n, fill = paradigm)) +
geom_bar(stat = "identity") +
coord_flip() +
scale_fill_brewer(palette = "Paired") +
labs(fill = "")
Exploratory data analyses to understand data and QA/QC.
#library(plotrix) #for quick s.e. calculations sometimes needed for data tidy step
library(meta) #nice package for most meta-statistics
#assign model (typically a nice meta. function from one of several packages such as meta, metafor, or netmeta)
#need to write a quick function here to iterate and/or up split-map from broom
#EDA####
#rii####
#paradigm
m <- metagen(mean.rii, error, studlab = study.ID, byvar = paradigm, data = simple.data) #fit generic meta-analysis to an object
m
## 95%-CI %W(fixed) %W(random) paradigm
## 1 0.1004 [-0.0416; 0.2424] 0.5 3.6 passive
## 3 -0.1868 [-0.2919; -0.0817] 0.9 3.9 active
## 6 0.1973 [-0.1756; 0.5702] 0.1 2.0 active
## 9 0.1901 [ 0.1523; 0.2280] 7.3 4.2 passive
## 13 -0.0083 [-0.0913; 0.0747] 1.5 4.0 active
## 20 -0.2808 [-0.3514; -0.2102] 2.1 4.1 active
## 29 -0.2971 [-0.3868; -0.2073] 1.3 4.0 active
## 30 -0.0326 [-0.1910; 0.1257] 0.4 3.5 active
## 31 0.3318 [ 0.1006; 0.5630] 0.2 2.9 passive
## 32 0.3908 [ 0.3293; 0.4522] 2.8 4.1 active
## 51 0.1280 [-0.0646; 0.3205] 0.3 3.2 active
## 66 0.0762 [ 0.0222; 0.1302] 3.6 4.1 passive
## 68 -0.1772 [-0.2845; -0.0699] 0.9 3.9 active
## 69 0.5020 [ 0.3552; 0.6489] 0.5 3.6 passive
## 77 0.0613 [-0.8629; 0.9854] 0.0 0.5 active
## 87 -0.0138 [-0.0406; 0.0131] 14.4 4.2 active
## 88 -0.1297 [-0.1597; -0.0997] 11.5 4.2 active
## 95 -0.2280 [-0.3094; -0.1466] 1.6 4.0 active
## 104 0.3069 [ 0.2619; 0.3519] 5.1 4.2 active
## 109 0.4675 [ 0.2613; 0.6737] 0.2 3.1 active
## 111 0.0748 [ 0.0406; 0.1091] 8.9 4.2 active
## 121 -0.0229 [-0.0432; -0.0026] 25.2 4.2 active
## 135 0.0859 [ 0.0317; 0.1401] 3.5 4.1 passive
## 147 -0.2642 [-0.4402; -0.0882] 0.3 3.4 active
## 210 -0.3286 [-0.4648; -0.1924] 0.6 3.7 active
## 239 0.2968 [-0.1971; 0.7907] 0.0 1.4 passive
## 247 -0.3379 [-0.3809; -0.2950] 5.6 4.2 passive
## 256 0.0430 [-0.0941; 0.1801] 0.6 3.7 passive
##
## Number of studies combined: k = 28
##
## 95%-CI z p-value
## Fixed effect model -0.0030 [-0.0132; 0.0072] -0.58 0.5589
## Random effects model 0.0168 [-0.0547; 0.0882] 0.46 0.6459
##
## Quantifying heterogeneity:
## tau^2 = 0.0315; H = 6.23 [5.67; 6.84]; I^2 = 97.4% [96.9%; 97.9%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 1047.16 27 < 0.0001
##
## Results for subgroups (fixed effect model):
## k 95%-CI Q tau^2 I^2
## paradigm = passive 9 0.0205 [-0.0014; 0.0423] 405.03 0.0643 98.0%
## paradigm = active 19 -0.0096 [-0.0211; 0.0019] 636.43 0.0262 97.2%
##
## Test for subgroup differences (fixed effect model):
## Q d.f. p-value
## Between groups 5.70 1 0.0170
## Within groups 1041.46 26 < 0.0001
##
## Results for subgroups (random effects model):
## k 95%-CI Q tau^2 I^2
## paradigm = passive 9 0.1278 [-0.0472; 0.3028] 405.03 0.0643 98.0%
## paradigm = active 19 -0.0315 [-0.1112; 0.0481] 636.43 0.0262 97.2%
##
## Test for subgroup differences (random effects model):
## Q d.f. p-value
## Between groups 2.64 1 0.1043
##
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
#no difference in random effects model by paradigm but fixed yes. Hetereogeneity is significantly different so a. fixed not representative and b. need a better model
#forest(m, xlim="symmetric", plotwidth=unit(1, "cm"))
forest(m, sortvar = paradigm)
radial(m)
#metabias(m, method = "linreg")
#technique
m <- metagen(mean.rii, error, studlab = study.ID, byvar = technique, data = tech.data) #fit generic meta-analysis to an object
m
## 95%-CI %W(fixed) %W(random)
## 1 0.1004 [-0.0416; 0.2424] 0.5 3.6
## 3 -0.1868 [-0.2919; -0.0817] 0.9 3.9
## 6 0.1973 [-0.1756; 0.5702] 0.1 2.0
## 9 0.1901 [ 0.1523; 0.2280] 7.3 4.2
## 13 -0.0083 [-0.0913; 0.0747] 1.5 4.0
## 20 -0.2808 [-0.3514; -0.2102] 2.1 4.1
## 29 -0.2971 [-0.3868; -0.2073] 1.3 4.0
## 30 -0.0326 [-0.1910; 0.1257] 0.4 3.5
## 31 0.3318 [ 0.1006; 0.5630] 0.2 2.9
## 32 0.3908 [ 0.3293; 0.4522] 2.8 4.1
## 51 0.1280 [-0.0646; 0.3205] 0.3 3.2
## 66 0.0762 [ 0.0222; 0.1302] 3.6 4.1
## 68 -0.1772 [-0.2845; -0.0699] 0.9 3.9
## 69 0.5020 [ 0.3552; 0.6489] 0.5 3.6
## 77 0.0613 [-0.8629; 0.9854] 0.0 0.5
## 87 -0.0138 [-0.0406; 0.0131] 14.4 4.2
## 88 -0.1297 [-0.1597; -0.0997] 11.5 4.2
## 95 -0.2280 [-0.3094; -0.1466] 1.6 4.0
## 104 0.3069 [ 0.2619; 0.3519] 5.1 4.2
## 109 0.4675 [ 0.2613; 0.6737] 0.2 3.1
## 111 0.0748 [ 0.0406; 0.1091] 8.9 4.2
## 121 -0.0229 [-0.0432; -0.0026] 25.2 4.2
## 135 0.0859 [ 0.0317; 0.1401] 3.5 4.1
## 147 -0.2642 [-0.4402; -0.0882] 0.3 3.4
## 210 -0.3286 [-0.4648; -0.1924] 0.6 3.7
## 239 0.2968 [-0.1971; 0.7907] 0.0 1.4
## 247 -0.3379 [-0.3809; -0.2950] 5.6 4.2
## 256 0.0430 [-0.0941; 0.1801] 0.6 3.7
## technique
## 1 litter crust
## 3 seeding, soil amendment
## 6 seeding, herbicides, activated carbon
## 9 fertile islands
## 13 planting
## 20 planting
## 29 planting, grazing exclusion
## 30 herbicide
## 31 seed arrival and retention
## 32 planting
## 51 planting, grazing exclusion
## 66 seeding, shrub facilitation
## 68 planting
## 69 grazing exclusion
## 77 mowing, grazing
## 87 fertilization, biostimulants, seeding
## 88 seeding
## 95 seeding, planting
## 104 mycorrhizal inoculation
## 109 seeding, mulching, weeding
## 111 planting
## 121 planting
## 135 natural recovery
## 147 seeding
## 210 carbon amendment
## 239 natural recovery
## 247 natural recovery
## 256 mycorrhizal fungi
##
## Number of studies combined: k = 28
##
## 95%-CI z p-value
## Fixed effect model -0.0030 [-0.0132; 0.0072] -0.58 0.5589
## Random effects model 0.0168 [-0.0547; 0.0882] 0.46 0.6459
##
## Quantifying heterogeneity:
## tau^2 = 0.0315; H = 6.23 [5.67; 6.84]; I^2 = 97.4% [96.9%; 97.9%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 1047.16 27 < 0.0001
##
## Results for subgroups (fixed effect model):
## k
## technique = litter crust 1 0.1004
## technique = seeding, soil amendment 1 -0.1868
## technique = seeding, herbicides, activated ... 1 0.1973
## technique = fertile islands 1 0.1901
## technique = planting 6 0.0098
## technique = planting, grazing exclusion 2 -0.2213
## technique = herbicide 1 -0.0326
## technique = seed arrival and retention 1 0.3318
## technique = seeding, shrub facilitation 1 0.0762
## technique = grazing exclusion 1 0.5020
## technique = mowing, grazing 1 0.0613
## technique = fertilization, biostimulants, s ... 1 -0.0138
## technique = seeding 2 -0.1335
## technique = seeding, planting 1 -0.2280
## technique = mycorrhizal inoculation 1 0.3069
## technique = seeding, mulching, weeding 1 0.4675
## technique = natural recovery 3 -0.1721
## technique = carbon amendment 1 -0.3286
## technique = mycorrhizal fungi 1 0.0430
## 95%-CI Q
## technique = litter crust [-0.0416; 0.2424] 0.00
## technique = seeding, soil amendment [-0.2919; -0.0817] 0.00
## technique = seeding, herbicides, activated ... [-0.1756; 0.5702] 0.00
## technique = fertile islands [ 0.1523; 0.2280] 0.00
## technique = planting [-0.0061; 0.0256] 248.37
## technique = planting, grazing exclusion [-0.3026; -0.1399] 15.38
## technique = herbicide [-0.1910; 0.1257] 0.00
## technique = seed arrival and retention [ 0.1006; 0.5630] 0.00
## technique = seeding, shrub facilitation [ 0.0222; 0.1302] 0.00
## technique = grazing exclusion [ 0.3552; 0.6489] 0.00
## technique = mowing, grazing [-0.8629; 0.9854] 0.00
## technique = fertilization, biostimulants, s ... [-0.0406; 0.0131] 0.00
## technique = seeding [-0.1631; -0.1039] 2.18
## technique = seeding, planting [-0.3094; -0.1466] 0.00
## technique = mycorrhizal inoculation [ 0.2619; 0.3519] 0.00
## technique = seeding, mulching, weeding [ 0.2613; 0.6737] 0.00
## technique = natural recovery [-0.2057; -0.1385] 147.89
## technique = carbon amendment [-0.4648; -0.1924] 0.00
## technique = mycorrhizal fungi [-0.0941; 0.1801] 0.00
## tau^2 I^2
## technique = litter crust -- --
## technique = seeding, soil amendment -- --
## technique = seeding, herbicides, activated ... -- --
## technique = fertile islands -- --
## technique = planting 0.0278 98.0%
## technique = planting, grazing exclusion 0.0845 93.5%
## technique = herbicide -- --
## technique = seed arrival and retention -- --
## technique = seeding, shrub facilitation -- --
## technique = grazing exclusion -- --
## technique = mowing, grazing -- --
## technique = fertilization, biostimulants, s ... -- --
## technique = seeding 0.0049 54.1%
## technique = seeding, planting -- --
## technique = mycorrhizal inoculation -- --
## technique = seeding, mulching, weeding -- --
## technique = natural recovery 0.0894 98.6%
## technique = carbon amendment -- --
## technique = mycorrhizal fungi -- --
##
## Test for subgroup differences (fixed effect model):
## Q d.f. p-value
## Between groups 633.34 18 < 0.0001
## Within groups 413.82 9 < 0.0001
##
## Results for subgroups (random effects model):
## k
## technique = litter crust 1 0.1004
## technique = seeding, soil amendment 1 -0.1868
## technique = seeding, herbicides, activated ... 1 0.1973
## technique = fertile islands 1 0.1901
## technique = planting 6 -0.0013
## technique = planting, grazing exclusion 2 -0.0934
## technique = herbicide 1 -0.0326
## technique = seed arrival and retention 1 0.3318
## technique = seeding, shrub facilitation 1 0.0762
## technique = grazing exclusion 1 0.5020
## technique = mowing, grazing 1 0.0613
## technique = fertilization, biostimulants, s ... 1 -0.0138
## technique = seeding 2 -0.1678
## technique = seeding, planting 1 -0.2280
## technique = mycorrhizal inoculation 1 0.3069
## technique = seeding, mulching, weeding 1 0.4675
## technique = natural recovery 3 -0.0301
## technique = carbon amendment 1 -0.3286
## technique = mycorrhizal fungi 1 0.0430
## 95%-CI Q
## technique = litter crust [-0.0416; 0.2424] 0.00
## technique = seeding, soil amendment [-0.2919; -0.0817] 0.00
## technique = seeding, herbicides, activated ... [-0.1756; 0.5702] 0.00
## technique = fertile islands [ 0.1523; 0.2280] 0.00
## technique = planting [-0.1376; 0.1350] 248.37
## technique = planting, grazing exclusion [-0.5096; 0.3227] 15.38
## technique = herbicide [-0.1910; 0.1257] 0.00
## technique = seed arrival and retention [ 0.1006; 0.5630] 0.00
## technique = seeding, shrub facilitation [ 0.0222; 0.1302] 0.00
## technique = grazing exclusion [ 0.3552; 0.6489] 0.00
## technique = mowing, grazing [-0.8629; 0.9854] 0.00
## technique = fertilization, biostimulants, s ... [-0.0406; 0.0131] 0.00
## technique = seeding [-0.2867; -0.0490] 2.18
## technique = seeding, planting [-0.3094; -0.1466] 0.00
## technique = mycorrhizal inoculation [ 0.2619; 0.3519] 0.00
## technique = seeding, mulching, weeding [ 0.2613; 0.6737] 0.00
## technique = natural recovery [-0.3956; 0.3354] 147.89
## technique = carbon amendment [-0.4648; -0.1924] 0.00
## technique = mycorrhizal fungi [-0.0941; 0.1801] 0.00
## tau^2 I^2
## technique = litter crust -- --
## technique = seeding, soil amendment -- --
## technique = seeding, herbicides, activated ... -- --
## technique = fertile islands -- --
## technique = planting 0.0278 98.0%
## technique = planting, grazing exclusion 0.0845 93.5%
## technique = herbicide -- --
## technique = seed arrival and retention -- --
## technique = seeding, shrub facilitation -- --
## technique = grazing exclusion -- --
## technique = mowing, grazing -- --
## technique = fertilization, biostimulants, s ... -- --
## technique = seeding 0.0049 54.1%
## technique = seeding, planting -- --
## technique = mycorrhizal inoculation -- --
## technique = seeding, mulching, weeding -- --
## technique = natural recovery 0.0894 98.6%
## technique = carbon amendment -- --
## technique = mycorrhizal fungi -- --
##
## Test for subgroup differences (random effects model):
## Q d.f. p-value
## Between groups 361.83 18 < 0.0001
##
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
forest(m, sortvar = technique)
radial(m)
#metabias(m, method = "linreg")
#measure
m <- metagen(mean.rii, error, studlab = study.ID, byvar = measure.success, data = success.data) #fit generic meta-analysis to an object
m
## 95%-CI %W(fixed) %W(random)
## 1 0.1004 [-0.0416; 0.2424] 0.5 3.6
## 3 -0.1868 [-0.2919; -0.0817] 0.9 3.9
## 6 0.1973 [-0.1756; 0.5702] 0.1 2.0
## 9 0.1901 [ 0.1523; 0.2280] 7.3 4.2
## 13 -0.0083 [-0.0913; 0.0747] 1.5 4.0
## 20 -0.2808 [-0.3514; -0.2102] 2.1 4.1
## 29 -0.2971 [-0.3868; -0.2073] 1.3 4.0
## 30 -0.0326 [-0.1910; 0.1257] 0.4 3.5
## 31 0.3318 [ 0.1006; 0.5630] 0.2 2.9
## 32 0.3908 [ 0.3293; 0.4522] 2.8 4.1
## 51 0.1280 [-0.0646; 0.3205] 0.3 3.2
## 66 0.0762 [ 0.0222; 0.1302] 3.6 4.1
## 68 -0.1772 [-0.2845; -0.0699] 0.9 3.9
## 69 0.5020 [ 0.3552; 0.6489] 0.5 3.6
## 77 0.0613 [-0.8629; 0.9854] 0.0 0.5
## 87 -0.0138 [-0.0406; 0.0131] 14.4 4.2
## 88 -0.1297 [-0.1597; -0.0997] 11.5 4.2
## 95 -0.2280 [-0.3094; -0.1466] 1.6 4.0
## 104 0.3069 [ 0.2619; 0.3519] 5.1 4.2
## 109 0.4675 [ 0.2613; 0.6737] 0.2 3.1
## 111 0.0748 [ 0.0406; 0.1091] 8.9 4.2
## 121 -0.0229 [-0.0432; -0.0026] 25.2 4.2
## 135 0.0859 [ 0.0317; 0.1401] 3.5 4.1
## 147 -0.2642 [-0.4402; -0.0882] 0.3 3.4
## 210 -0.3286 [-0.4648; -0.1924] 0.6 3.7
## 239 0.2968 [-0.1971; 0.7907] 0.0 1.4
## 247 -0.3379 [-0.3809; -0.2950] 5.6 4.2
## 256 0.0430 [-0.0941; 0.1801] 0.6 3.7
## measure.success
## 1 seedling establishment
## 3 Triodia wiseana establishment
## 6 Agropyron desertorum seedlings
## 9 heterogeneous patterns of soil nutrients
## 13 natural undisturbed communities
## 20 desert steppe
## 29 grassland vegetation and soil
## 30 lizard community
## 31 seed availability for restoration
## 32 improved soil physicochemical and biological properties
## 51 diverse arthropod community
## 66 grassland restoration
## 68 grassland restoration
## 69 vegetation regeneration
## 77 Narduus grasslands
## 87 decreasing soil P-concentration
## 88 soil carbon and nitrogen of the original grassland
## 95 remnant prairie vegetation
## 104 native vegetation
## 109 native shrubs establishment
## 111 revegetation
## 121 revegetation
## 135 native vegetation
## 147 native perennial grasses
## 210 endemic sand grassland
## 239 native cerrado community
## 247 soil properties of native forests
## 256 not clear
##
## Number of studies combined: k = 28
##
## 95%-CI z p-value
## Fixed effect model -0.0030 [-0.0132; 0.0072] -0.58 0.5589
## Random effects model 0.0168 [-0.0547; 0.0882] 0.46 0.6459
##
## Quantifying heterogeneity:
## tau^2 = 0.0315; H = 6.23 [5.67; 6.84]; I^2 = 97.4% [96.9%; 97.9%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 1047.16 27 < 0.0001
##
## Results for subgroups (fixed effect model):
## k
## measure.success = seedling establishment 1 0.1004
## measure.success = Triodia wiseana establishment 1 -0.1868
## measure.success = Agropyron desertorum seedlings 1 0.1973
## measure.success = heterogeneous patterns of soil ... 1 0.1901
## measure.success = natural undisturbed communities 1 -0.0083
## measure.success = desert steppe 1 -0.2808
## measure.success = grassland vegetation and soil 1 -0.2971
## measure.success = lizard community 1 -0.0326
## measure.success = seed availability for restoration 1 0.3318
## measure.success = improved soil physicochemical a ... 1 0.3908
## measure.success = diverse arthropod community 1 0.1280
## measure.success = grassland restoration 2 0.0250
## measure.success = vegetation regeneration 1 0.5020
## measure.success = Narduus grasslands 1 0.0613
## measure.success = decreasing soil P-concentration 1 -0.0138
## measure.success = soil carbon and nitrogen of the ... 1 -0.1297
## measure.success = remnant prairie vegetation 1 -0.2280
## measure.success = native vegetation 2 0.2166
## measure.success = native shrubs establishment 1 0.4675
## measure.success = revegetation 2 0.0025
## measure.success = native perennial grasses 1 -0.2642
## measure.success = endemic sand grassland 1 -0.3286
## measure.success = native cerrado community 1 0.2968
## measure.success = soil properties of native forests 1 -0.3379
## measure.success = not clear 1 0.0430
## 95%-CI
## measure.success = seedling establishment [-0.0416; 0.2424]
## measure.success = Triodia wiseana establishment [-0.2919; -0.0817]
## measure.success = Agropyron desertorum seedlings [-0.1756; 0.5702]
## measure.success = heterogeneous patterns of soil ... [ 0.1523; 0.2280]
## measure.success = natural undisturbed communities [-0.0913; 0.0747]
## measure.success = desert steppe [-0.3514; -0.2102]
## measure.success = grassland vegetation and soil [-0.3868; -0.2073]
## measure.success = lizard community [-0.1910; 0.1257]
## measure.success = seed availability for restoration [ 0.1006; 0.5630]
## measure.success = improved soil physicochemical a ... [ 0.3293; 0.4522]
## measure.success = diverse arthropod community [-0.0646; 0.3205]
## measure.success = grassland restoration [-0.0232; 0.0733]
## measure.success = vegetation regeneration [ 0.3552; 0.6489]
## measure.success = Narduus grasslands [-0.8629; 0.9854]
## measure.success = decreasing soil P-concentration [-0.0406; 0.0131]
## measure.success = soil carbon and nitrogen of the ... [-0.1597; -0.0997]
## measure.success = remnant prairie vegetation [-0.3094; -0.1466]
## measure.success = native vegetation [ 0.1820; 0.2512]
## measure.success = native shrubs establishment [ 0.2613; 0.6737]
## measure.success = revegetation [-0.0149; 0.0200]
## measure.success = native perennial grasses [-0.4402; -0.0882]
## measure.success = endemic sand grassland [-0.4648; -0.1924]
## measure.success = native cerrado community [-0.1971; 0.7907]
## measure.success = soil properties of native forests [-0.3809; -0.2950]
## measure.success = not clear [-0.0941; 0.1801]
## Q tau^2 I^2
## measure.success = seedling establishment 0.00 -- --
## measure.success = Triodia wiseana establishment 0.00 -- --
## measure.success = Agropyron desertorum seedlings 0.00 -- --
## measure.success = heterogeneous patterns of soil ... 0.00 -- --
## measure.success = natural undisturbed communities 0.00 -- --
## measure.success = desert steppe 0.00 -- --
## measure.success = grassland vegetation and soil 0.00 -- --
## measure.success = lizard community 0.00 -- --
## measure.success = seed availability for restoration 0.00 -- --
## measure.success = improved soil physicochemical a ... 0.00 -- --
## measure.success = diverse arthropod community 0.00 -- --
## measure.success = grassland restoration 17.09 0.0302 94.1%
## measure.success = vegetation regeneration 0.00 -- --
## measure.success = Narduus grasslands 0.00 -- --
## measure.success = decreasing soil P-concentration 0.00 -- --
## measure.success = soil carbon and nitrogen of the ... 0.00 -- --
## measure.success = remnant prairie vegetation 0.00 -- --
## measure.success = native vegetation 37.84 0.0238 97.4%
## measure.success = native shrubs establishment 0.00 -- --
## measure.success = revegetation 23.19 0.0046 95.7%
## measure.success = native perennial grasses 0.00 -- --
## measure.success = endemic sand grassland 0.00 -- --
## measure.success = native cerrado community 0.00 -- --
## measure.success = soil properties of native forests 0.00 -- --
## measure.success = not clear 0.00 -- --
##
## Test for subgroup differences (fixed effect model):
## Q d.f. p-value
## Between groups 969.05 24 < 0.0001
## Within groups 78.11 3 < 0.0001
##
## Results for subgroups (random effects model):
## k
## measure.success = seedling establishment 1 0.1004
## measure.success = Triodia wiseana establishment 1 -0.1868
## measure.success = Agropyron desertorum seedlings 1 0.1973
## measure.success = heterogeneous patterns of soil ... 1 0.1901
## measure.success = natural undisturbed communities 1 -0.0083
## measure.success = desert steppe 1 -0.2808
## measure.success = grassland vegetation and soil 1 -0.2971
## measure.success = lizard community 1 -0.0326
## measure.success = seed availability for restoration 1 0.3318
## measure.success = improved soil physicochemical a ... 1 0.3908
## measure.success = diverse arthropod community 1 0.1280
## measure.success = grassland restoration 2 -0.0461
## measure.success = vegetation regeneration 1 0.5020
## measure.success = Narduus grasslands 1 0.0613
## measure.success = decreasing soil P-concentration 1 -0.0138
## measure.success = soil carbon and nitrogen of the ... 1 -0.1297
## measure.success = remnant prairie vegetation 1 -0.2280
## measure.success = native vegetation 2 0.1969
## measure.success = native shrubs establishment 1 0.4675
## measure.success = revegetation 2 0.0250
## measure.success = native perennial grasses 1 -0.2642
## measure.success = endemic sand grassland 1 -0.3286
## measure.success = native cerrado community 1 0.2968
## measure.success = soil properties of native forests 1 -0.3379
## measure.success = not clear 1 0.0430
## 95%-CI
## measure.success = seedling establishment [-0.0416; 0.2424]
## measure.success = Triodia wiseana establishment [-0.2919; -0.0817]
## measure.success = Agropyron desertorum seedlings [-0.1756; 0.5702]
## measure.success = heterogeneous patterns of soil ... [ 0.1523; 0.2280]
## measure.success = natural undisturbed communities [-0.0913; 0.0747]
## measure.success = desert steppe [-0.3514; -0.2102]
## measure.success = grassland vegetation and soil [-0.3868; -0.2073]
## measure.success = lizard community [-0.1910; 0.1257]
## measure.success = seed availability for restoration [ 0.1006; 0.5630]
## measure.success = improved soil physicochemical a ... [ 0.3293; 0.4522]
## measure.success = diverse arthropod community [-0.0646; 0.3205]
## measure.success = grassland restoration [-0.2943; 0.2021]
## measure.success = vegetation regeneration [ 0.3552; 0.6489]
## measure.success = Narduus grasslands [-0.8629; 0.9854]
## measure.success = decreasing soil P-concentration [-0.0406; 0.0131]
## measure.success = soil carbon and nitrogen of the ... [-0.1597; -0.0997]
## measure.success = remnant prairie vegetation [-0.3094; -0.1466]
## measure.success = native vegetation [-0.0196; 0.4135]
## measure.success = native shrubs establishment [ 0.2613; 0.6737]
## measure.success = revegetation [-0.0708; 0.1207]
## measure.success = native perennial grasses [-0.4402; -0.0882]
## measure.success = endemic sand grassland [-0.4648; -0.1924]
## measure.success = native cerrado community [-0.1971; 0.7907]
## measure.success = soil properties of native forests [-0.3809; -0.2950]
## measure.success = not clear [-0.0941; 0.1801]
## Q tau^2 I^2
## measure.success = seedling establishment 0.00 -- --
## measure.success = Triodia wiseana establishment 0.00 -- --
## measure.success = Agropyron desertorum seedlings 0.00 -- --
## measure.success = heterogeneous patterns of soil ... 0.00 -- --
## measure.success = natural undisturbed communities 0.00 -- --
## measure.success = desert steppe 0.00 -- --
## measure.success = grassland vegetation and soil 0.00 -- --
## measure.success = lizard community 0.00 -- --
## measure.success = seed availability for restoration 0.00 -- --
## measure.success = improved soil physicochemical a ... 0.00 -- --
## measure.success = diverse arthropod community 0.00 -- --
## measure.success = grassland restoration 17.09 0.0302 94.1%
## measure.success = vegetation regeneration 0.00 -- --
## measure.success = Narduus grasslands 0.00 -- --
## measure.success = decreasing soil P-concentration 0.00 -- --
## measure.success = soil carbon and nitrogen of the ... 0.00 -- --
## measure.success = remnant prairie vegetation 0.00 -- --
## measure.success = native vegetation 37.84 0.0238 97.4%
## measure.success = native shrubs establishment 0.00 -- --
## measure.success = revegetation 23.19 0.0046 95.7%
## measure.success = native perennial grasses 0.00 -- --
## measure.success = endemic sand grassland 0.00 -- --
## measure.success = native cerrado community 0.00 -- --
## measure.success = soil properties of native forests 0.00 -- --
## measure.success = not clear 0.00 -- --
##
## Test for subgroup differences (random effects model):
## Q d.f. p-value
## Between groups 784.78 24 < 0.0001
##
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
forest(m, sortvar = measure.success)
radial(m)
#metabias(m, method = "linreg")
#check data coding for passive intervention and outcome vectors too - not just active?
#explore above with intervention and outcome vectors
#do with ID as level not study.ID
#lrr
#rii anew with all data?
m <- metagen(rii, var.es, studlab = ID, byvar = paradigm, data = data)
summary(m)
## Number of studies combined: k = 1329
##
## 95%-CI z p-value
## Fixed effect model -0.0028 [-0.0028; -0.0028] -18078410.47 0
## Random effects model 0.0066 [-0.0105; 0.0237] 0.76 0.4490
##
## Quantifying heterogeneity:
## tau^2 = 0.0351; H = 6714263.23 [6714262.64; 6714263.83]; I^2 = 100.0% [100.0%; 100.0%]
##
## Test of heterogeneity:
## Q d.f. p-value
## 59868007254096752.00 1328 0
##
## Results for subgroups (fixed effect model):
## k 95%-CI Q
## paradigm = active 1042 -0.0028 [-0.0028; -0.0028] 59812653472614792.00
## paradigm = passive 287 -0.0186 [-0.0186; -0.0186] 55191414297898.93
## tau^2 I^2
## paradigm = active 0.0351 100.0%
## paradigm = passive 0.0934 100.0%
##
## Test for subgroup differences (fixed effect model):
## Q d.f. p-value
## Between groups 162367184064.81 1 0
## Within groups 59867844886912688.00 1327 0
##
## Results for subgroups (random effects model):
## k 95%-CI Q
## paradigm = active 1042 0.0640 [ 0.0442; 0.0838] 59812653472614792.00
## paradigm = passive 287 -0.1734 [-0.2269; -0.1199] 55191414297898.93
## tau^2 I^2
## paradigm = active 0.0351 100.0%
## paradigm = passive 0.0934 100.0%
##
## Test for subgroup differences (random effects model):
## Q d.f. p-value
## Between groups 66.56 1 < 0.0001
##
## Details on meta-analytical method:
## - Inverse variance method
## - DerSimonian-Laird estimator for tau^2
#forest(m, sortvar = paradigm)
#radial(m)
#metabias(m, method = "linreg")
#m <- metagen(rii, var.es, studlab = study.ID, byvar = intervention, data = active)
#summary(m)
#forest(m, sortvar = paradigm)
#m <- metagen(rii, var.es, studlab = ID, byvar = outcome, data = na.exclude(data))
#summary(m)
#however repeat above for active only - for intervention and outcome - makes more sense
Meta and conventional statistical models to explore relative efficacy.
#effect sizes plots
ggplot(main.data, aes(paradigm, mean.rii, color = intervention)) +
geom_point(position = position_dodge(width = 0.5)) +
ylim(c(-1,1)) +
labs(x = "", y = "mean rii", color = "") +
coord_flip() +
geom_errorbar(aes(ymin=mean.rii-mean.var, ymax=mean.rii+mean.var), width=.05, position = position_dodge(width = 0.5)) +
geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
ggplot(simple.data, aes(paradigm, mean.rii, color = technique)) +
geom_point(position = position_dodge(width = 0.5)) +
ylim(c(-1,1)) +
labs(x = "", y = "mean rii", color = "") +
coord_flip() +
geom_errorbar(aes(ymin=mean.rii-error, ymax=mean.rii+error), width=.05, position = position_dodge(width = 0.5)) +
geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
ggplot(main.data, aes(paradigm, mean.rii, color = outcome)) +
geom_point(position = position_dodge(width = 0.5)) +
ylim(c(-1,1)) +
labs(x = "", y = "mean rii") +
coord_flip() +
geom_errorbar(aes(ymin=mean.rii-mean.var, ymax=mean.rii+mean.var), width=.05, position = position_dodge(width = 0.5)) +
geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
#ggplot(simple.data, aes(paradigm, mean.rii, color = measure.success)) +
#geom_point(position = position_dodge(width = 0.5)) +
#ylim(c(-1,1)) +
#labs(x = "", y = "mean rii") +
#coord_flip() +
#geom_errorbar(aes(ymin=mean.rii-error, ymax=mean.rii+error), width=.05, position = position_dodge(width = 0.5)) +
#geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
ggplot(active, aes(intervention, rii, color = outcome)) +
geom_point(position = position_dodge(width = 0.5)) +
ylim(c(-1,1)) +
labs(x = "", y = "rii") +
coord_flip() +
geom_errorbar(aes(ymin=rii-var.es, ymax=rii+var.es), width=.05, position = position_dodge(width = 0.5)) +
geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
ggplot(active, aes(intervention, rii, color = outcome)) +
geom_boxplot() +
ylim(c(-1,1)) +
labs(x = "", y = "rii") +
coord_flip() +
geom_errorbar(aes(ymin=rii-var.es, ymax=rii+var.es), width=.05, position = position_dodge(width = 0.5)) +
geom_hline(yintercept = 0, colour="grey", linetype = "longdash")
#simple.active <- active %>%
#group_by(study.ID, outcome) %>%
#summarise(n = n(), mean.rii = mean(rii), mean.var = #mean(var.es))
#t-tests if different from 0
#t-tests if mean rii different from mu = 0
tmu <- function(x)
{t.test(x, mu = 0, paired = FALSE, var.equal=FALSE, conf.level = 0.95)
}
data %>%
split(.$paradigm) %>%
purrr::map(~tmu(.$rii))
## $active
##
## One Sample t-test
##
## data: x
## t = 7.9137, df = 1630, p-value = 4.577e-15
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.06472721 0.10738564
## sample estimates:
## mean of x
## 0.08605643
##
##
## $passive
##
## One Sample t-test
##
## data: x
## t = -5.0636, df = 372, p-value = 6.488e-07
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.13662799 -0.06019472
## sample estimates:
## mean of x
## -0.09841136
active %>%
split(.$intervention) %>%
purrr::map(~tmu(.$rii))
## $`carbon amendment`
##
## One Sample t-test
##
## data: x
## t = -5.2225, df = 71, p-value = 1.686e-06
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.3492415 -0.1562481
## sample estimates:
## mean of x
## -0.2527448
##
##
## $`mycorrhizal inoculation`
##
## One Sample t-test
##
## data: x
## t = 13.364, df = 151, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.2615316 0.3522823
## sample estimates:
## mean of x
## 0.306907
##
##
## $nutrients
##
## One Sample t-test
##
## data: x
## t = 8.7479, df = 129, p-value = 1.019e-14
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.2807864 0.4449217
## sample estimates:
## mean of x
## 0.362854
##
##
## $planting
##
## One Sample t-test
##
## data: x
## t = 5.125, df = 864, p-value = 3.672e-07
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.04527295 0.10147166
## sample estimates:
## mean of x
## 0.07337231
##
##
## $seeding
##
## One Sample t-test
##
## data: x
## t = -0.03268, df = 388, p-value = 0.9739
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.04497171 0.04350115
## sample estimates:
## mean of x
## -0.0007352816
##
##
## $vegetation
##
## One Sample t-test
##
## data: x
## t = 0.0091906, df = 10, p-value = 0.9928
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.3642764 0.3672939
## sample estimates:
## mean of x
## 0.001508783
##
##
## $`water addition`
##
## One Sample t-test
##
## data: x
## t = 5.0865, df = 11, p-value = 0.0003514
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.07266727 0.18352542
## sample estimates:
## mean of x
## 0.1280963
active %>%
split(.$outcome) %>%
purrr::map(~tmu(.$rii))
## $`invertebrate community`
##
## One Sample t-test
##
## data: x
## t = 1.3026, df = 23, p-value = 0.2056
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.07526574 0.33120545
## sample estimates:
## mean of x
## 0.1279699
##
##
## $`native species`
##
## One Sample t-test
##
## data: x
## t = 10.495, df = 468, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.1928828 0.2817528
## sample estimates:
## mean of x
## 0.2373178
##
##
## $`soil quality`
##
## One Sample t-test
##
## data: x
## t = 9.6158, df = 421, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 0.1594986 0.2414609
## sample estimates:
## mean of x
## 0.2004797
##
##
## $unreported
##
## One Sample t-test
##
## data: x
## t = -7.3944, df = 13, p-value = 5.237e-06
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.3782394 -0.2071959
## sample estimates:
## mean of x
## -0.2927177
##
##
## $`vegetation and habitat`
##
## One Sample t-test
##
## data: x
## t = -5.9951, df = 694, p-value = 3.269e-09
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.10369991 -0.05253375
## sample estimates:
## mean of x
## -0.07811683
##
##
## $`vertebrate community`
##
## One Sample t-test
##
## data: x
## t = -0.40398, df = 6, p-value = 0.7002
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -0.2303505 0.1650673
## sample estimates:
## mean of x
## -0.03264162
#meta-stats for active versus passive
#meta-stats for differences between interventions and outcomes for active test studies